home *** CD-ROM | disk | FTP | other *** search
- Subject: v02i003: calentool - patch level 5, Part 1/4
- Newsgroups: comp.sources.sun
- Approved: mcgrew@aramis.rutgers.edu
-
- Submitted-by: Bill Randle <billr@saab.cna.tek.com>
- Posting-number: Volume 2, Issue 3
- Archive-name: calentool/patch5a
-
-
- [This is patch #5 for calentool, the day/week/month/year at-a-glance
- hackers almanac. This patch fixes several bugs and introduces several
- new features that have been requested. Amoung these are: 12/24 hour
- time display, European week formats (Mon-Sun), repeating appointments
- with a fixed duration, nested include files, relative dates for -d
- option and a new calencheck program. See the file 'PATCHLOG' for
- full details.
- A complete, patched source is available via anon uucp from host 'saab'
- (send mail for uucp info) and (eventually) from the sun-source archive
- on titan.rice.edu.
- Bug reports and feature suggestions are always welcome.
- Bill Randle
- billr@saab.CNA.TEK.COM
- ]
-
- #! /bin/sh
- # This is a shell archive. Remove anything before this line, then unpack
- # it by saving it into a file and typing "sh file". To overwrite existing
- # files, type "sh file -c". You can also feed this as standard input via
- # unshar, or by typing "sh <file", e.g.. If this archive is complete, you
- # will see the following message at the end:
- # "End of archive 1 (of 4)."
- # Contents: calencheck.1 expire.c patches05a
- # Wrapped by billr@saab on Tue Dec 19 12:28:30 1989
- PATH=/bin:/usr/bin:/usr/ucb ; export PATH
- if test -f 'calencheck.1' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'calencheck.1'\"
- else
- echo shar: Extracting \"'calencheck.1'\" \(1124 characters\)
- sed "s/^X//" >'calencheck.1' <<'END_OF_FILE'
- X.\" $Header: calencheck.1,v 2.1 89/12/15 17:04:56 billr Exp $
- X.\"
- X.TH CALENCHECK 1 "14 December 1989"
- X.SH NAME
- Xcalencheck - check for pending appointments
- X.SH SYNOPSIS
- X.B calencheck
- X[
- X.B \-f
- X.I apptsfile
- X]
- X.SH DESCRIPTION
- X.I Calencheck
- Xis a companion program for
- X.IR calentool (1L).
- X.I Calencheck
- Xreads the
- X.I calentool
- X.B .appointments
- Xfile and sends a message to the console approximately ten minutes
- Xbefore a scheduled appointment is to start. Its operation is
- Xthe same as invoking
- X.I calentool
- Xwith the
- X.B \-b
- Xoption, with the exception that there is no icon to change.
- X.LP
- XThis program is especially useful for Sun systems with limited
- Xmemory or swap space that can not afford to keep
- X.I calentool
- Xrunning continously.
- XIt may also be useful if the user is not working at his/her console,
- Xas it does not require the window system to work.
- X.LP
- XTo enter or edit appointments the
- X.I calentool
- Xprogram must still be used.
- X.SH OPTIONS
- X.TP 15
- X.BI \-f \ apptsfile
- XUse
- X.I apptsfile
- Xas the appointments file, rather than the default.
- X.SH "SEE ALSO"
- Xcalentool(1L)
- X.SH AUTHOR
- XBill Randle (Tektronix, Inc., billr@saab.CNA.TEK.COM)
- END_OF_FILE
- if test 1124 -ne `wc -c <'calencheck.1'`; then
- echo shar: \"'calencheck.1'\" unpacked with wrong size!
- fi
- # end of 'calencheck.1'
- fi
- if test -f 'expire.c' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'expire.c'\"
- else
- echo shar: Extracting \"'expire.c'\" \(4867 characters\)
- sed "s/^X//" >'expire.c' <<'END_OF_FILE'
- X/*
- X * $Header: expire.c,v 2.1 89/12/15 17:04:54 billr Exp $
- X *
- X * expire.c
- X * expire outdated appts, i.e. remove them from the appts file, if they
- X * are older than <n> days.
- X *
- X * Copyright (C) 1989 Tektronix, Inc.
- X * All Rights Reserved
- X * Permission is hereby granted to use and modify this code in source
- X * or binary form as long as it is not sold for profit and this copyright
- X * notice remains intact.
- X */
- X
- X#include <stdio.h>
- X#include <sys/time.h>
- X#include <sys/types.h>
- X#include <sys/stat.h>
- X#include <sys/errno.h>
- X#include "ct.h"
- X
- Xextern struct tm today, current;
- Xextern char apts_pathname[], tmpapts_pathname[];
- Xextern char inbuf[], apts_dir[];
- Xextern int save_old;
- Xextern int errno;
- Xextern double julian_day();
- Xextern double nth_mday_of_month();
- X
- X/*
- X * Scan appointments file for outdated appointments. If <save_old> is
- X * TRUE then save them to a special file of the form ".appointments.YY",
- X * where YY is the year of that appointment. If <edays> is zero, then
- X * all other appointments are copied to the new appts file. If <edays>
- X * > 0, then any appointments more than <edays> old are discarded.
- X * Setting <save_old> TRUE and <edays> to 0 gives the behavior described
- X * by the "-o" switch.
- X */
- Xexpire(edays)
- Xint edays;
- X{
- X FILE *apts, *temp_apts, *fp;
- X int read_stat;
- X int runl, week;
- X char save_file[128];
- X struct appt_entry appt;
- X struct stat sbuf;
- X
- X /*
- X * method: for each regular appt in the file (or limited
- X * duration appt), compare the Julian date of that appt
- X * and the Julian date of today, looking for a difference
- X * greater than <edays>.
- X */
- X if ((apts = fopen(apts_pathname, "r")) == NULL)
- X err_rpt("can't open appointments file", FATAL);
- X
- X if ((temp_apts = fopen(tmpapts_pathname, "w")) == NULL)
- X err_rpt("can't open temp file for writing", FATAL);
- X
- X /*
- X * now go thru the appointments file
- X */
- X while ((read_stat=get_aentry(apts, &appt, TRUE)) != EOF) {
- X if (read_stat)
- X continue; /* read error (ignore) */
- X if (appt.flags & A_COMMENT) {
- X fputs(inbuf, temp_apts);
- X continue;
- X }
- X current.tm_year = appt.year;
- X current.tm_mon = appt.month;
- X current.tm_mday = appt.day;
- X if (appt.flags & ALL_YEARS)
- X /* force this to be saved */
- X current.tm_year = today.tm_year + 1;
- X if (appt.flags & ALL_MONTHS)
- X /* maybe saved, pick worse case */
- X current.tm_mon = DEC;
- X if (appt.flags & ALL_DAYS) {
- X if (current.tm_year < today.tm_year ||
- X (current.tm_year == today.tm_year &&
- X current.tm_mon < today.tm_mon))
- X /* maybe saved, pick worse case */
- X current.tm_mday = monthlength(current.tm_mon);
- X }
- X if (appt.flags & EVERY_SOMEDAY) {
- X if ((appt.repeat & ALL_WEEKS) == ALL_WEEKS || appt.repeat & LAST_WEEK ||
- X appt.repeat & WEEK5)
- X week = 5;
- X else if (appt.repeat & WEEK4)
- X week = 4;
- X else if (appt.repeat & WEEK3)
- X week = 3;
- X else if (appt.repeat & WEEK2)
- X week = 2;
- X else if (appt.repeat & WEEK1)
- X week = 1;
- X current.tm_mday = (int)nth_mday_of_month(week, Pickday(appt.flags), current.tm_mon, current.tm_year+1900);
- X if (current.tm_mday > monthlength(current.tm_mon))
- X current.tm_mday = (int)nth_mday_of_month(week-1, Pickday(appt.flags), current.tm_mon, current.tm_year+1900);
- X if (appt.flags & RUN) {
- X current.tm_mday += appt.runlength;
- X fix_current_day();
- X }
- X } else if (appt.flags & REPEAT) {
- X if (appt.flags & RUN)
- X runl = appt.runlength;
- X else
- X runl = 1;
- X while (ymd_compare(current, today) < 0 && runl) {
- X if (appt.flags & RUN)
- X --runl;
- X if (runl) {
- X current.tm_mday += appt.repeat;
- X fix_current_day();
- X }
- X }
- X }
- X if (save_old && current.tm_year < today.tm_year) {
- X /* prepend directory info */
- X sprintf(save_file, "%s/.appointments.%02d",
- X apts_dir, appt.year);
- X if (stat(save_file, &sbuf) && errno == ENOENT) {
- X /* new file*/
- X if ((fp = fopen(save_file, "w")) == NULL)
- X err_rpt("can't open save file, bailing out", FATAL);
- X fputs(HEADER, fp);
- X fclose(fp);
- X }
- X if ((fp = fopen(save_file, "a+")) == NULL)
- X err_rpt("can't open save file, bailing out", FATAL);
- X else {
- X if (put_aentry(fp, &appt))
- X err_rpt("write to save appt file failed, bailing out", FATAL);
- X fclose(fp);
- X }
- X }
- X current.tm_mday += edays; /* offset by expire days */
- X fix_current_day();
- X if (edays == 0 ||
- X julian_day((double)current.tm_mday, current.tm_mon, current.tm_year+1900) >=
- X julian_day((double)today.tm_mday, today.tm_mon, today.tm_year+1900)) {
- X if (put_aentry(temp_apts, &appt)) {
- X /* write error */
- X break;
- X }
- X }
- X }
- X if (ferror(temp_apts))
- X err_rpt("write on temp file failed", FATAL);
- X fclose(temp_apts);
- X fclose(apts);
- X /* don't rename zero length files */
- X stat(tmpapts_pathname, &sbuf);
- X if (sbuf.st_size == (off_t) 0)
- X err_rpt("zero length temp file - not renamed", NON_FATAL);
- X else
- X xrename(tmpapts_pathname, apts_pathname);
- X}
- X
- END_OF_FILE
- if test 4867 -ne `wc -c <'expire.c'`; then
- echo shar: \"'expire.c'\" unpacked with wrong size!
- fi
- # end of 'expire.c'
- fi
- if test -f 'patches05a' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'patches05a'\"
- else
- echo shar: Extracting \"'patches05a'\" \(44652 characters\)
- sed "s/^X//" >'patches05a' <<'END_OF_FILE'
- X*** moon.icon.orig Fri Dec 15 17:19:43 1989
- X--- moon.icon Fri Dec 15 17:05:01 1989
- X***************
- X*** 1,4 ****
- X--- 1,5 ----
- X /* Format_version=1, Width=64, Height=64, Depth=1, Valid_bits_per_item=16
- X+ * $Header: moon.icon,v 2.1 89/12/15 17:04:59 billr Exp $
- X */
- X 0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
- X 0xFFFF,0xFF00,0x00FF,0xFFFF,0xFFFF,0xF800,0x081F,0xFFFF,
- X*** /tmp/,RCSt1a16881 Fri Dec 15 17:21:59 1989
- X--- PATCHLOG Fri Dec 15 17:13:47 1989
- X***************
- X*** 1,4
- X! # $Header: PATCHLOG,v 2.5 89/09/19 06:17:10 billr Exp $
- X
- X #$Log: PATCHLOG,v $
- X # Revision 2.5 89/09/19 06:17:10 billr
- X
- X--- 1,4 -----
- X! # $Header: PATCHLOG,v 2.6 89/12/15 17:13:23 billr Exp $
- X
- X #$Log: PATCHLOG,v $
- X # Revision 2.6 89/12/15 17:13:23 billr
- X***************
- X*** 1,6
- X # $Header: PATCHLOG,v 2.5 89/09/19 06:17:10 billr Exp $
- X
- X #$Log: PATCHLOG,v $
- X # Revision 2.5 89/09/19 06:17:10 billr
- X # Patchlevel 4 of calentool. Fixes the following bug reports:
- X #
- X
- X--- 1,58 -----
- X # $Header: PATCHLOG,v 2.6 89/12/15 17:13:23 billr Exp $
- X
- X #$Log: PATCHLOG,v $
- X+ # Revision 2.6 89/12/15 17:13:23 billr
- X+ # Patchlevel 5 of calentool fixes the following bugs and adds features:
- X+ #
- X+ # ===========
- X+ # Bugs Fixed:
- X+ # ===========
- X+ # calentool -p -m misses warnings in advance if the warning and
- X+ # appointments are in different month. <kayhan@eve.usc.edu>
- X+ # Fixed bug with day/week PostScript printouts [reported by several people]
- X+ # Fixed bug with "-m" option [reported by several people]
- X+ # Corrected date for Australia Day <ajc@philabs.philips.COM>
- X+ # Fixed -p/-P/-m options so nothing is printed (or mailed) if there are
- X+ # no appointments for the day. <uunet.uu.net!xlab!milt!milt>, <brooks@ge-dab.crd.ge.COM>
- X+ # Fixed bug whereby entire calentool was being changed to black&white
- X+ # after the Moon data frame was displayed.
- X+ # Fixed bug in calculation of Jewish passover (on which all the other
- X+ # Jewish holidays are based) <smb@hector.att.COM>, <rjc@cs.brown.edu>
- X+ # Fixed bug that displayed previous days calendar if a day is selected from a 6 day week. <bob@omni.COM>
- X+ # Shortend length of an extra long entry in the dates/space file. <cdurst@aecmail.prime.com>
- X+ # Fixed bug in calculation of nth_day_of_month (shows up as putting election
- X+ # day on the wrong week). <uunet.uu.net!formtek!pen>, <att.att.COM!cbosgd!smk>
- X+ # Fixed bug whereby deleted repeated appointments were not always recognized.
- X+ # Added #define for mail program with default set to "usr/ucb/mail". The
- X+ # problem showed up when a user had /usr/5bin in his path before
- X+ # /usr/ucb. <uunet.uu.net!cjsa!jeff>
- X+ # Fixed bug that caused calentool to dump core on notes sections with long messages.
- X+ # Added dates/space entry in Makefile.
- X+ #
- X+ # =============
- X+ # New features:
- X+ # =============
- X+ # Modified parse_date to allow +nnn and -nnn syntax for dates relative to the
- X+ # current date. <peter@hadrian.uwo.ca>
- X+ #
- X+ # Add new #defines and switches for selected 12/24 time displays and either
- X+ # Sunday-Saturday or Monday-Sunday weeks (for some Europeans). <hk@simulina.se>
- X+ # Cleaner opening windows. <cdurst@aecmail.prime.com>
- X+ # New -B option to beep AND open calentool window. <cdurst@aecmail.prime.com>
- X+ # Nested includes (to 4 levels) are now allowed. (Idea from <mdf0%shemesh@gte.COM>)
- X+ # Allow -p/-P[dw] options to work in conjunction with -m/-M so that a
- X+ # weeks worth of appointments can be mailed.
- X+ # Added new expire option (-x) to expire (trash) all appointments older than
- X+ # a specified number of days.
- X+ # The sense of the -w option was changed. In order to get the "Working!"
- X+ # message, you now have to specify "-w".
- X+ # Changed M/D/Y dates to D/M/Y when European option (-E) selected.
- X+ # Optimized certain holiday calculations.
- X+ # New feature for appointments that repeat for a fixed interval of time
- X+ # e.g. 12/26/89 for 5 days.
- X+ # Wrote new calencheck program for checking for pending appts without having
- X+ # to run calentool.
- X+ #
- X # Revision 2.5 89/09/19 06:17:10 billr
- X # Patchlevel 4 of calentool. Fixes the following bug reports:
- X #
- X*** /tmp/,RCSt1a16886 Fri Dec 15 17:22:02 1989
- X--- Bugs Fri Dec 15 17:16:39 1989
- X***************
- X*** 1,8
- X These aren't major, but I haven't had time to track them down...
- X
- X 1) The "Working!" message occasionally lingers on when it shouldn't.
- X! If it bothers you, use the "-w" option to turn off the message
- X! entirely.
- X
- X 2) Arrow display messes up on rare occasions. I haven't duplicated
- X this often enough to track down.
- X
- X--- 1,7 -----
- X These aren't major, but I haven't had time to track them down...
- X
- X 1) The "Working!" message occasionally lingers on when it shouldn't.
- X! If it bothers you, don't use this option (-w).
- X
- X The following bugs have been reported by various users, but I haven't
- X been able to fix them, since I haven't been able to duplicate them
- X***************
- X*** 4,12
- X If it bothers you, use the "-w" option to turn off the message
- X entirely.
- X
- X- 2) Arrow display messes up on rare occasions. I haven't duplicated
- X- this often enough to track down.
- X-
- X The following bugs have been reported by various users, but I haven't
- X been able to fix them, since I haven't been able to duplicate them
- X (usually due to hardware/os combinations I don't have access to).
- X
- X--- 3,8 -----
- X 1) The "Working!" message occasionally lingers on when it shouldn't.
- X If it bothers you, don't use this option (-w).
- X
- X The following bugs have been reported by various users, but I haven't
- X been able to fix them, since I haven't been able to duplicate them
- X (usually due to hardware/os combinations I don't have access to).
- X***************
- X*** 12,18
- X (usually due to hardware/os combinations I don't have access to).
- X
- X *Calentool dies (seg fault) after running overnight with lockscreen <mfeblowitz@ge.com>
- X- *Core dump when clicking MS-MIDDLE button on note section on 386i <jmc@ptsfa.pacbell.com>
- X *Memory leakage <vicorp!sparky!scott@uunet.uu.net>
- X *Popup error window only gets partially displayed (OS 4.0.3/Sun3) <rohit@sun.com>
- X ?Deleting single occurrance of multiple meeting doesn't really delete it <ecm@aloft.uucp>
- X
- X--- 8,13 -----
- X (usually due to hardware/os combinations I don't have access to).
- X
- X *Calentool dies (seg fault) after running overnight with lockscreen <mfeblowitz@ge.com>
- X *Memory leakage <vicorp!sparky!scott@uunet.uu.net>
- X *Popup error window only gets partially displayed (OS 4.0.3/Sun3) <rohit@sun.com>
- X *Running calentool forces icon gravity change on 386i <lwv27%chemabs@cis.ohio-state.edu>
- X***************
- X*** 15,22
- X *Core dump when clicking MS-MIDDLE button on note section on 386i <jmc@ptsfa.pacbell.com>
- X *Memory leakage <vicorp!sparky!scott@uunet.uu.net>
- X *Popup error window only gets partially displayed (OS 4.0.3/Sun3) <rohit@sun.com>
- X! ?Deleting single occurrance of multiple meeting doesn't really delete it <ecm@aloft.uucp>
- X! ?Running calentool forces icon gravity change on 386i <lwv27%chemabs@cis.ohio-state.edu>
- X
- X If you fix any of these, or spot other bugs, please let me know.
- X
- X
- X--- 10,16 -----
- X *Calentool dies (seg fault) after running overnight with lockscreen <mfeblowitz@ge.com>
- X *Memory leakage <vicorp!sparky!scott@uunet.uu.net>
- X *Popup error window only gets partially displayed (OS 4.0.3/Sun3) <rohit@sun.com>
- X! *Running calentool forces icon gravity change on 386i <lwv27%chemabs@cis.ohio-state.edu>
- X
- X If you fix any of these, or spot other bugs, please let me know.
- X
- X***************
- X*** 23,26
- X Bill Randle
- X billr@saab.CNA.TEK.COM
- X {most backbones}!tektronix!saab.CNA.TEK!billr
- X! August 11, 1989
- X
- X--- 17,20 -----
- X Bill Randle
- X billr@saab.CNA.TEK.COM
- X {most backbones}!tektronix!saab.CNA.TEK!billr
- X! December 15, 1989
- X*** /tmp/,RCSt1a16891 Fri Dec 15 17:22:06 1989
- X--- INSTALL Fri Dec 15 17:16:42 1989
- X***************
- X*** 1,4
- X! INSTALLATION NOTES FOR CALENTOOL - Version 2.1, April 1989
- X
- X 1) Edit the file "ct.h" to tailor calentool to your site. The only things
- X that should really need to be "tweeked" are the define statements for:
- X
- X--- 1,4 -----
- X! INSTALLATION NOTES FOR CALENTOOL - Version 2.1p5, December 1989
- X
- X 1) Edit the file "ct.h" to tailor calentool to your site. The only things
- X that should really need to be "tweeked" are the define statements for:
- X***************
- X*** 11,16
- X START_YEAR (first year to appear in year menu)
- X NR_YEARS (total number of years to appear in year menu)
- X UPDATE_RATE (rate of clock updating)
- X
- X If you want to make a smaller version of calentool, without certain
- X features, uncomment the #defines for one or more of the following
- X
- X--- 11,19 -----
- X START_YEAR (first year to appear in year menu)
- X NR_YEARS (total number of years to appear in year menu)
- X UPDATE_RATE (rate of clock updating)
- X+ MAILPROG (mailer for -m option)
- X+ HOUR_24 (for 12 or 24 hour time formats)
- X+ MON_FIRST (for Sun-Sat or Mon-Sun week formats)
- X
- X If you want to make a smaller version of calentool, without certain
- X features, uncomment the #defines for one or more of the following
- X***************
- X*** 58,61
- X
- X Bill Randle
- X billr@saab.CNA.TEK.COM
- X! May 9, 1989
- X
- X--- 61,64 -----
- X
- X Bill Randle
- X billr@saab.CNA.TEK.COM
- X! December 15, 1989
- X*** /tmp/,RCSt1a02742 Tue Dec 19 12:26:34 1989
- X--- Makefile Tue Dec 19 12:26:06 1989
- X***************
- X*** 1,4
- X! # $Header: Makefile,v 2.2 89/07/19 20:32:48 billr Exp $
- X #
- X #DATELIB_DIR Directory containing the Date Library
- X #PRINT_CMD Command to send postscript to appropriate printer
- X
- X--- 1,4 -----
- X! # $Header: Makefile,v 2.4 89/12/19 12:25:42 billr Exp $
- X #
- X #DATELIB_DIR Directory containing the Date Library
- X #PRINT_CMD Command to send postscript to appropriate printer
- X***************
- X*** 8,13
- X #START_YEAR What is first year of calendar to display
- X #NR_YEARS How many years to display.
- X #UPDATE_RATE How often to perform updates (second or minute)?
- X #APPT_CHECK_LIMIT What limits to check for appointments (see ct.h)
- X #
- X #NO_PRINTER No printing is supported
- X
- X--- 8,16 -----
- X #START_YEAR What is first year of calendar to display
- X #NR_YEARS How many years to display.
- X #UPDATE_RATE How often to perform updates (second or minute)?
- X+ #MAILPROG Mailer for -m option
- X+ #HOUR_24 For 12 or 24 hour time formats
- X+ #MON_FIRST For Sun-Sat or Mon-Sun week formats
- X #APPT_CHECK_LIMIT What limits to check for appointments (see ct.h)
- X #
- X #NO_PRINTER No printing is supported
- X***************
- X*** 15,20
- X #NO_HOLIDAYS No holiday display is supported
- X #NO_SUN_MOON No sun and moon phase info is supported
- X #
- X #BINDIR Where to install binaries
- X #LIBDIR Where to install date files and utility binaries
- X #MANDIR Where to install man pages
- X
- X--- 18,25 -----
- X #NO_HOLIDAYS No holiday display is supported
- X #NO_SUN_MOON No sun and moon phase info is supported
- X #
- X+ #CALENCHECK Ifdefs out parts of files for calencheck program
- X+ #
- X #BINDIR Where to install binaries
- X #LIBDIR Where to install date files and utility binaries
- X #MANDIR Where to install man pages
- X***************
- X*** 30,35
- X CC = cc
- X DEFINES= #-DDATELIB_DIR=\"./dates\" -DSTART_HOUR=7 -DEND_HOUR=19 -DSTART_YEAR=88
- X CFLAGS= -g ${DEFINES}
- X LIBS= -lsuntool -lsunwindow -lpixrect -lm
- X
- X DATEFILES= dates/README dates/celtic dates/computing dates/events\
- X
- X--- 35,41 -----
- X CC = cc
- X DEFINES= #-DDATELIB_DIR=\"./dates\" -DSTART_HOUR=7 -DEND_HOUR=19 -DSTART_YEAR=88
- X CFLAGS= -g ${DEFINES}
- X+ CC_CFLAGS = ${CFLAGS} -DCALENCHECK
- X LIBS= -lsuntool -lsunwindow -lpixrect -lm
- X
- X DATEFILES= dates/README dates/celtic dates/computing dates/events\
- X***************
- X*** 36,42
- X dates/lives dates/lotr dates/nature dates/popcult\
- X dates/usa_holiday dates/usa_other dates/usa_states dates/world\
- X dates/gdead dates/space
- X! SRCS= calentool.c datelib.o devent.c dpaint.c event.c holidays.c\
- X init.c moon.c mpaint.c notify.c pcal.c ras2ps.c riseset.c tool.c utils.c\
- X version.c wevent.c wpaint.c ypaint.c
- X INCLUDES= ct.h event.h paint.h patchlevel.h riseset.h
- X
- X--- 42,48 -----
- X dates/lives dates/lotr dates/nature dates/popcult\
- X dates/usa_holiday dates/usa_other dates/usa_states dates/world\
- X dates/gdead dates/space
- X! SRCS= calentool.c datelib.o devent.c dpaint.c event.c expire.c holidays.c\
- X init.c moon.c mpaint.c notify.c pcal.c ras2ps.c riseset.c tool.c utils.c\
- X version.c wevent.c wpaint.c ypaint.c
- X INCLUDES= ct.h event.h paint.h patchlevel.h riseset.h
- X***************
- X*** 40,47
- X init.c moon.c mpaint.c notify.c pcal.c ras2ps.c riseset.c tool.c utils.c\
- X version.c wevent.c wpaint.c ypaint.c
- X INCLUDES= ct.h event.h paint.h patchlevel.h riseset.h
- X! OBJS= calentool.o datelib.o devent.o dpaint.o event.o holidays.o\
- X! init.o moon.o mpaint.o notify.o pcal.o ras2ps.o riseset.o tool.o utils.o\
- X version.o wevent.o wpaint.o ypaint.o
- X
- X all: calentool conv_tools
- X
- X--- 46,53 -----
- X init.c moon.c mpaint.c notify.c pcal.c ras2ps.c riseset.c tool.c utils.c\
- X version.c wevent.c wpaint.c ypaint.c
- X INCLUDES= ct.h event.h paint.h patchlevel.h riseset.h
- X! OBJS= calentool.o ct_datelib.o devent.o ct_dpaint.o event.o expire.o holidays.o\
- X! init.o moon.o mpaint.o notify.o pcal.o ras2ps.o riseset.o tool.o ct_utils.o\
- X version.o wevent.o wpaint.o ypaint.o
- X CC_OBJS = calencheck.o cc_datelib.o cc_dpaint.o cc_utils.o
- X
- X***************
- X*** 43,48
- X OBJS= calentool.o datelib.o devent.o dpaint.o event.o holidays.o\
- X init.o moon.o mpaint.o notify.o pcal.o ras2ps.o riseset.o tool.o utils.o\
- X version.o wevent.o wpaint.o ypaint.o
- X
- X all: calentool conv_tools
- X
- X
- X--- 49,55 -----
- X OBJS= calentool.o ct_datelib.o devent.o ct_dpaint.o event.o expire.o holidays.o\
- X init.o moon.o mpaint.o notify.o pcal.o ras2ps.o riseset.o tool.o ct_utils.o\
- X version.o wevent.o wpaint.o ypaint.o
- X+ CC_OBJS = calencheck.o cc_datelib.o cc_dpaint.o cc_utils.o
- X
- X all: calentool calencheck conv_tools
- X
- X***************
- X*** 44,50
- X init.o moon.o mpaint.o notify.o pcal.o ras2ps.o riseset.o tool.o utils.o\
- X version.o wevent.o wpaint.o ypaint.o
- X
- X! all: calentool conv_tools
- X
- X # the main program
- X calentool: ${OBJS}
- X
- X--- 51,57 -----
- X version.o wevent.o wpaint.o ypaint.o
- X CC_OBJS = calencheck.o cc_datelib.o cc_dpaint.o cc_utils.o
- X
- X! all: calentool calencheck conv_tools
- X
- X # the main program
- X calentool: ${OBJS}
- X***************
- X*** 51,57
- X ${CC} ${CFLAGS} -o calentool ${OBJS} ${LIBS}
- X
- X calentool.o: calentool.c ct.h std.icon rev.icon nap.icon
- X! datelib.o: datelib.c
- X devent.o: devent.c ct.h event.h
- X dpaint.o: dpaint.c ct.h paint.h riseset.h
- X holidays.o: holidays.c
- X
- X--- 58,66 -----
- X ${CC} ${CFLAGS} -o calentool ${OBJS} ${LIBS}
- X
- X calentool.o: calentool.c ct.h std.icon rev.icon nap.icon
- X! ct_datelib.o: datelib.c
- X! ${CC} ${CFLAGS} -c datelib.c
- X! mv datelib.o ct_datelib.o
- X devent.o: devent.c ct.h event.h
- X ct_dpaint.o: dpaint.c ct.h paint.h riseset.h
- X ${CC} ${CFLAGS} -c dpaint.c
- X***************
- X*** 53,59
- X calentool.o: calentool.c ct.h std.icon rev.icon nap.icon
- X datelib.o: datelib.c
- X devent.o: devent.c ct.h event.h
- X! dpaint.o: dpaint.c ct.h paint.h riseset.h
- X holidays.o: holidays.c
- X init.o: init.c ct.h
- X moon.o: moon.c
- X
- X--- 62,71 -----
- X ${CC} ${CFLAGS} -c datelib.c
- X mv datelib.o ct_datelib.o
- X devent.o: devent.c ct.h event.h
- X! ct_dpaint.o: dpaint.c ct.h paint.h riseset.h
- X! ${CC} ${CFLAGS} -c dpaint.c
- X! mv dpaint.o ct_dpaint.o
- X! expire.o: expire.c ct.h
- X holidays.o: holidays.c
- X init.o: init.c ct.h
- X moon.o: moon.c
- X***************
- X*** 64,70
- X ras2ps.o: ras2ps.c
- X riseset.o: riseset.h
- X tool.o: tool.c ct.h
- X! utils.o: utils.c ct.h
- X version.o: version.c
- X wevent.o: wevent.c ct.h event.h
- X wpaint.o: wpaint.c ct.h paint.h
- X
- X--- 76,84 -----
- X ras2ps.o: ras2ps.c
- X riseset.o: riseset.h
- X tool.o: tool.c ct.h
- X! ct_utils.o: utils.c ct.h
- X! ${CC} ${CFLAGS} -c utils.c
- X! mv utils.o ct_utils.o
- X version.o: version.c
- X wevent.o: wevent.c ct.h event.h
- X wpaint.o: wpaint.c ct.h paint.h
- X***************
- X*** 70,75
- X wpaint.o: wpaint.c ct.h paint.h
- X ypaint.o: ypaint.c ct.h paint.h
- X
- X # conversion utilities
- X conv_tools: cal2ct month2ct mt2ct
- X
- X
- X--- 84,103 -----
- X wpaint.o: wpaint.c ct.h paint.h
- X ypaint.o: ypaint.c ct.h paint.h
- X
- X+ # the calencheck program
- X+ calencheck: ${CC_OBJS}
- X+ ${CC} ${CC_CFLAGS} -o calencheck ${CC_OBJS} -lsunwindow -lm
- X+
- X+ cc_utils.o: utils.c ct.h
- X+ ${CC} ${CC_CFLAGS} -c utils.c
- X+ mv utils.o cc_utils.o
- X+ cc_datelib.o: datelib.c
- X+ ${CC} ${CC_CFLAGS} -c datelib.c
- X+ mv datelib.o cc_datelib.o
- X+ cc_dpaint.o: dpaint.c ct.h
- X+ ${CC} ${CC_CFLAGS} -c dpaint.c
- X+ mv dpaint.o cc_dpaint.o
- X+
- X # conversion utilities
- X conv_tools: cal2ct month2ct mt2ct
- X
- X***************
- X*** 84,89
- X
- X install: all
- X install -s calentool ${BINDIR}
- X install -c -m 444 calentool.1 ${MANDIR}/calentool.${MANEXT}
- X install -c -m 444 CalenTool.d ${DEFSDIR}/CalenTool.d
- X -mkdir ${LIBDIR}
- X
- X--- 112,118 -----
- X
- X install: all
- X install -s calentool ${BINDIR}
- X+ install -s calencheck ${BINDIR}
- X install -c -m 444 calentool.1 ${MANDIR}/calentool.${MANEXT}
- X install -c -m 444 calencheck.1 ${MANDIR}/calencheck.${MANEXT}
- X install -c -m 444 CalenTool.d ${DEFSDIR}/CalenTool.d
- X***************
- X*** 85,90
- X install: all
- X install -s calentool ${BINDIR}
- X install -c -m 444 calentool.1 ${MANDIR}/calentool.${MANEXT}
- X install -c -m 444 CalenTool.d ${DEFSDIR}/CalenTool.d
- X -mkdir ${LIBDIR}
- X cp ${DATEFILES} ${LIBDIR}
- X
- X--- 114,120 -----
- X install -s calentool ${BINDIR}
- X install -s calencheck ${BINDIR}
- X install -c -m 444 calentool.1 ${MANDIR}/calentool.${MANEXT}
- X+ install -c -m 444 calencheck.1 ${MANDIR}/calencheck.${MANEXT}
- X install -c -m 444 CalenTool.d ${DEFSDIR}/CalenTool.d
- X -mkdir ${LIBDIR}
- X cp ${DATEFILES} ${LIBDIR}
- X***************
- X*** 103,109
- X rm -f *.o *.BAK core *~ #*#
- X
- X veryclean:
- X! rm -f calentool cal2ct month2ct mt2ct *.o *.BAK core *~ #*#
- X
- X # If you are using GNU make, the following statement will cause it to
- X # ignore any (bogus) files named `clean', `all', etc.; if you are using
- X
- X--- 133,139 -----
- X rm -f *.o *.BAK core *~ #*#
- X
- X veryclean:
- X! rm -f calentool calencheck cal2ct month2ct mt2ct *.o *.BAK core *~ #*#
- X
- X # If you are using GNU make, the following statement will cause it to
- X # ignore any (bogus) files named `clean', `all', etc.; if you are using
- X*** /tmp/,RCSt1a16901 Fri Dec 15 17:22:14 1989
- X--- ToDo Fri Dec 15 17:16:50 1989
- X***************
- X*** 1,7
- X Still to do someday...
- X
- X 1) Convert display code and event handling, etc. to X11. Using
- X! View2 may be the way to do this.
- X
- X 2) Add Lunar based (e.g. Chinese, Japanese) holidays.
- X
- X
- X--- 1,7 -----
- X Still to do someday...
- X
- X 1) Convert display code and event handling, etc. to X11. Using
- X! XView may be the way to do this.
- X
- X 2) Add Lunar based (e.g. Chinese, Japanese) holidays.
- X
- X***************
- X*** 33,39
- X =Want to come up in week display <bob@boulder.colorado.edu>
- X =Want to order the notes (i.e. pick which is displayed first) <dna@emmy.umd.edu>
- X =Want to see two days at a time <rohit@sun.com>
- X- =Want to set duration of an appointment (e.g. gone for 4 days) <jeremy@kheops.cmi.no>
- X =Want to start arbitrary process at appt time <wyle@inf.ethz.ch>
- X =Want week display to show current day at left, then next 5-7 days <bob@boulder.colorado.edu>
- X =Want window to open when appt time approaches <rohit@sun.com>
- X
- X--- 33,38 -----
- X =Want to come up in week display <bob@boulder.colorado.edu>
- X =Want to order the notes (i.e. pick which is displayed first) <dna@emmy.umd.edu>
- X =Want to see two days at a time <rohit@sun.com>
- X =Want to start arbitrary process at appt time <wyle@inf.ethz.ch>
- X =Want week display to show current day at left, then next 5-7 days <bob@boulder.colorado.edu>
- X =Want jump scroll for long messages
- X***************
- X*** 36,39
- X =Want to set duration of an appointment (e.g. gone for 4 days) <jeremy@kheops.cmi.no>
- X =Want to start arbitrary process at appt time <wyle@inf.ethz.ch>
- X =Want week display to show current day at left, then next 5-7 days <bob@boulder.colorado.edu>
- X! =Want window to open when appt time approaches <rohit@sun.com>
- X
- X--- 35,40 -----
- X =Want to see two days at a time <rohit@sun.com>
- X =Want to start arbitrary process at appt time <wyle@inf.ethz.ch>
- X =Want week display to show current day at left, then next 5-7 days <bob@boulder.colorado.edu>
- X! =Want jump scroll for long messages
- X! =Want more features from 'sched', e.g. alarm clock, marked time events, display month current month icon <cdurst@aecmail.prime.com>
- X! =Want to be able to set all command line options from within the running tool.
- X*** /tmp/,RCSt1a16906 Fri Dec 15 17:22:19 1989
- X--- calentool.1 Fri Dec 15 17:16:57 1989
- X***************
- X*** 1,4
- X! .\" $Header: calentool.1,v 2.4 89/09/19 06:06:11 billr Exp $
- X .\"
- X .TH CALENTOOL 1 "14 September 1989"
- X .ds Ps P\s-2OST\s+2S\s-2CRIPT\s+2
- X
- X--- 1,4 -----
- X! .\" $Header: calentool.1,v 2.5 89/12/15 17:16:51 billr Exp $
- X .\"
- X .TH CALENTOOL 1 "14 December 1989"
- X .ds Ps P\s-2OST\s+2S\s-2CRIPT\s+2
- X***************
- X*** 1,6
- X .\" $Header: calentool.1,v 2.4 89/09/19 06:06:11 billr Exp $
- X .\"
- X! .TH CALENTOOL 1 "14 September 1989"
- X .ds Ps P\s-2OST\s+2S\s-2CRIPT\s+2
- X .SH NAME
- X calentool - day/week/month/year-at-a-glance SunView tool (the Hacker's Almanac)
- X
- X--- 1,6 -----
- X .\" $Header: calentool.1,v 2.5 89/12/15 17:16:51 billr Exp $
- X .\"
- X! .TH CALENTOOL 1 "14 December 1989"
- X .ds Ps P\s-2OST\s+2S\s-2CRIPT\s+2
- X .SH NAME
- X calentool - day/week/month/year-at-a-glance SunView tool (the Hacker's Almanac)
- X***************
- X*** 10,15
- X .B \-b
- X ]
- X [
- X .B \-d
- X .I date
- X ]
- X
- X--- 10,18 -----
- X .B \-b
- X ]
- X [
- X+ .B \-B
- X+ ]
- X+ [
- X .B \-d
- X .I date
- X ]
- X***************
- X*** 35,40
- X .I userid
- X ]
- X [
- X .B \-o
- X ]
- X [
- X
- X--- 38,47 -----
- X .I userid
- X ]
- X [
- X+ .B \-M
- X+ .I userid
- X+ ]
- X+ [
- X .B \-o
- X ]
- X [
- X***************
- X*** 67,72
- X .B \-5
- X ]
- X [
- X .B \-7
- X ]
- X [
- X
- X--- 74,83 -----
- X .B \-5
- X ]
- X [
- X+ .B \-6
- X+ ]
- X+ [
- X+ [
- X .B \-7
- X ]
- X [
- X***************
- X*** 70,76
- X .B \-7
- X ]
- X [
- X! .I suntools options
- X ]
- X .SH DESCRIPTION
- X .I Calentool
- X
- X--- 81,87 -----
- X .B \-7
- X ]
- X [
- X! .B \-12
- X ]
- X [
- X .B \-24
- X***************
- X*** 72,77
- X [
- X .I suntools options
- X ]
- X .SH DESCRIPTION
- X .I Calentool
- X is a day/week/month/year-at-a-glance tool. It is a
- X
- X--- 83,104 -----
- X [
- X .B \-12
- X ]
- X+ [
- X+ .B \-24
- X+ ]
- X+ [
- X+ .B \-e
- X+ ]
- X+ [
- X+ .B \-E
- X+ ]
- X+ [
- X+ .B \-x
- X+ .I int
- X+ ]
- X+ [
- X+ .I sunview options
- X+ ]
- X .SH DESCRIPTION
- X .I Calentool
- X is a day/week/month/year-at-a-glance tool. It is a
- X***************
- X*** 88,94
- X .IR mail (1),
- X and to examine colleagues appointment schedules. Daily and weekly schedules
- X can be sent to a \*(Ps printer. Outdated appointments can be sent
- X! automatically to an archival file. An extensive set of files containing
- X commemorative dates is included, as well as a library of routines which
- X computes the dates of various holidays which do not fall on fixed days
- X of the Gregorian calendar (including religious holidays and astronomical
- X
- X--- 115,121 -----
- X .IR mail (1),
- X and to examine colleagues appointment schedules. Daily and weekly schedules
- X can be sent to a \*(Ps printer. Outdated appointments can be sent
- X! automatically to an archival file. An extensive set of files containing
- X commemorative dates is included, as well as a library of routines which
- X computes the dates of various holidays which do not fall on fixed days
- X of the Gregorian calendar (including religious holidays and astronomical
- X***************
- X*** 98,103
- X .I calentool
- X you should be operating within the SunView environment, the
- X .BR \-m ,
- X .B \-p
- X and
- X .B \-P
- X
- X--- 125,131 -----
- X .I calentool
- X you should be operating within the SunView environment, the
- X .BR \-m ,
- X+ .BR \-M ,
- X .B \-p
- X and
- X .B \-P
- X***************
- X*** 121,127
- X .SH OPTIONS
- X .I Calentool
- X accepts standard
- X! .I suntools
- X command line options at the end of the command line.
- X .TP 15
- X .B \-b
- X
- X--- 149,155 -----
- X .SH OPTIONS
- X .I Calentool
- X accepts standard
- X! .I sunview
- X command line options at the end of the command line.
- X .TP 15
- X .B \-b
- X***************
- X*** 133,138
- X .IR nlock (1L);
- X notifying passers-by of the user's current activity.
- X .TP
- X .BI \-d \ date
- X Open the calendar at the day
- X .IR date ,
- X
- X--- 161,174 -----
- X .IR nlock (1L);
- X notifying passers-by of the user's current activity.
- X .TP
- X+ .B \-B
- X+ Similar to
- X+ .B \-b
- X+ except that the
- X+ .I calentool
- X+ frame is opened instead of writing to the console. If both features are
- X+ desired, both options may be specified.
- X+ .TP
- X .BI \-d \ date
- X Open the calendar at the day
- X .IR date ,
- X***************
- X*** 148,153
- X MO/DD (day DD of month MO, for example 11/12 for November 12)
- X .br
- X MO/DD/YY (day DD of month MO, year YY, for example 9/1/88 for 1 September 1988)
- X .RE
- X .TP
- X .BI \-f \ apptsfile
- X
- X--- 184,194 -----
- X MO/DD (day DD of month MO, for example 11/12 for November 12)
- X .br
- X MO/DD/YY (day DD of month MO, year YY, for example 9/1/88 for 1 September 1988)
- X+ .TP
- X+ relative dates:
- X+ +n (n days from now, for example +1 for tomorrow)
- X+ .br
- X+ -n (n days ago, for example -1 for yesterday)
- X .RE
- X .TP
- X .BI \-f \ apptsfile
- X***************
- X*** 217,222
- X represents the last two digits of a past year).
- X .TP
- X .BI \-m " userid"
- X Send mail listing todays appointments to the user specified by
- X .I userid
- X and exit.
- X
- X--- 258,265 -----
- X represents the last two digits of a past year).
- X .TP
- X .BI \-m " userid"
- X+ .br
- X+ .BI \-M " userid"
- X Send mail listing todays appointments to the user specified by
- X .I userid
- X and exit.
- X***************
- X*** 220,225
- X Send mail listing todays appointments to the user specified by
- X .I userid
- X and exit.
- X This feature is useful when calentool is run from
- X .IR cron (1),
- X to send yourself mail about today's appointments. No mail is
- X
- X--- 263,272 -----
- X Send mail listing todays appointments to the user specified by
- X .I userid
- X and exit.
- X+ .B \-m
- X+ shows all notes, while
- X+ .B \-M
- X+ does not show notes not marked for display in the month/year displays.
- X This feature is useful when calentool is run from
- X .IR cron (1),
- X to send yourself mail about today's appointments. No mail is
- X***************
- X*** 224,229
- X .IR cron (1),
- X to send yourself mail about today's appointments. No mail is
- X sent about today's appointments, if there are none.
- X (Note: this option eliminates the need for the separate program,
- X .IR calenmail (1L),
- X which was distributed with earlier releases of
- X
- X--- 271,286 -----
- X .IR cron (1),
- X to send yourself mail about today's appointments. No mail is
- X sent about today's appointments, if there are none.
- X+ The
- X+ .B \-p
- X+ and
- X+ .B \-P
- X+ options may be used with these options to mail yourself a whole weeks
- X+ worth of appointments, e.g.:
- X+ .I
- X+ calentool -Pw -m billr.
- X+ .R
- X+
- X (Note: this option eliminates the need for the separate program,
- X .IR calenmail (1L),
- X which was distributed with earlier releases of
- X***************
- X*** 281,288
- X seconds.
- X .TP
- X .B \-w
- X! Don't display the "Working!" message in the control panel during
- X! lengthy operations. The cursor still changes to an hourglass.
- X .TP
- X .B \-z
- X Convert appointments file used by earlier versions of
- X
- X--- 338,345 -----
- X seconds.
- X .TP
- X .B \-w
- X! Display the "Working!" message in the control panel during
- X! lengthy operations. The cursor also changes to an hourglass.
- X .TP
- X .BI \-x " int"
- X Expire appointment files entries if they are older than
- X***************
- X*** 284,289
- X Don't display the "Working!" message in the control panel during
- X lengthy operations. The cursor still changes to an hourglass.
- X .TP
- X .B \-z
- X Convert appointments file used by earlier versions of
- X .I calentool
- X
- X--- 341,354 -----
- X Display the "Working!" message in the control panel during
- X lengthy operations. The cursor also changes to an hourglass.
- X .TP
- X+ .BI \-x " int"
- X+ Expire appointment files entries if they are older than
- X+ .I int
- X+ days old. Appointments in #include files are not expired. To expire
- X+ included appointments,
- X+ .I calentool
- X+ must be run on the included file directly.
- X+ .TP
- X .B \-z
- X Convert appointments file used by earlier versions of
- X .I calentool
- X***************
- X*** 293,299
- X .TP
- X .B \-5
- X Display only five days (Monday through Friday) in the week display. This is
- X! useful if the installer has set the default display format to 7 days.
- X .TP
- X .B \-7
- X Display all seven days in the week display. This is useful if the installer
- X
- X--- 358,364 -----
- X .TP
- X .B \-5
- X Display only five days (Monday through Friday) in the week display. This is
- X! useful if the installer has set the default display format to 6 or 7 days.
- X .TP
- X .B \-6
- X Display six days (Monday through Saturday) in the week display. This is
- X***************
- X*** 295,300
- X Display only five days (Monday through Friday) in the week display. This is
- X useful if the installer has set the default display format to 7 days.
- X .TP
- X .B \-7
- X Display all seven days in the week display. This is useful if the installer
- X has set the default value to 5 days. The 7-day display is wider than the 5-day
- X
- X--- 360,369 -----
- X Display only five days (Monday through Friday) in the week display. This is
- X useful if the installer has set the default display format to 6 or 7 days.
- X .TP
- X+ .B \-6
- X+ Display six days (Monday through Saturday) in the week display. This is
- X+ useful if the installer has set the default display format to 5 or 7 days.
- X+ .TP
- X .B \-7
- X Display all seven days in the week display. This is useful if the installer
- X has set the default value to 5 or 6 days. The 7-day display is wider than the 5-day
- X***************
- X*** 297,303
- X .TP
- X .B \-7
- X Display all seven days in the week display. This is useful if the installer
- X! has set the default value to 5 days. The 7-day display is wider than the 5-day
- X display, allowing longer messages to be displayed.
- X .SH "DETAILED INSTRUCTIONS"
- X .SS "Examining the calendar"
- X
- X--- 366,372 -----
- X .TP
- X .B \-7
- X Display all seven days in the week display. This is useful if the installer
- X! has set the default value to 5 or 6 days. The 7-day display is wider than the 5-day
- X display, allowing longer messages to be displayed.
- X .TP
- X .B \-12
- X***************
- X*** 299,304
- X Display all seven days in the week display. This is useful if the installer
- X has set the default value to 5 days. The 7-day display is wider than the 5-day
- X display, allowing longer messages to be displayed.
- X .SH "DETAILED INSTRUCTIONS"
- X .SS "Examining the calendar"
- X When first opened, the tool displays the appointments for a single day (today
- X
- X--- 368,394 -----
- X Display all seven days in the week display. This is useful if the installer
- X has set the default value to 5 or 6 days. The 7-day display is wider than the 5-day
- X display, allowing longer messages to be displayed.
- X+ .TP
- X+ .B \-12
- X+ Display time in a 12-hour AM/PM format whenever practical. This is usefful
- X+ if the installer has set the default time format to 24-hour time.
- X+ .TP
- X+ .B \-24
- X+ Display time in a 24-hour AM/PM format. This is usefful
- X+ if the installer has set the default time format to 12-hour time.
- X+ .TP
- X+ .B \-e
- X+ Set European week display format (Monday through Sunday). When 7 day
- X+ week display is set, the display shows the days Monday through Sunday,
- X+ rather than Sunday through Saturday. This also affects the month
- X+ and year displays.
- X+ .TP
- X+ .B \-E
- X+ Set all European style options. Currently, this includes:
- X+ .B \-24
- X+ and
- X+ .BR \-e .
- X+ Other options may be added in the future.
- X .SH "DETAILED INSTRUCTIONS"
- X .SS "Examining the calendar"
- X When first opened, the tool displays the appointments for a single day (today
- X***************
- X*** 459,465
- X year. Alternatively,
- X the appointment may be repeated at a specified interval of days. The user can
- X also specify a period of days prior to the appointment for which a reminder
- X! will be printed. For example, one could specify that a meeting is to occur
- X on the first and third Tuesday of the month, in perpetuity, by selecting
- X the repeat options
- X .BR "Selected Week" ,
- X
- X--- 549,556 -----
- X year. Alternatively,
- X the appointment may be repeated at a specified interval of days. The user can
- X also specify a period of days prior to the appointment for which a reminder
- X! will be printed and how many times this appointment will be repeated.
- X! For example, one could specify that a meeting is to occur
- X on the first and third Tuesday of the month, in perpetuity, by selecting
- X the repeat options
- X .BR "Selected Week" ,
- X***************
- X*** 560,566
- X \fC# CalenTool V2 - DO NOT REMOVE THIS LINE
- X #include "file"
- X # <comment string>
- X! YY MO DD HH MI AA [II] <WW> # \fImessage\fP
- X .fi
- X .SS Header line
- X The first line in an
- X
- X--- 651,657 -----
- X \fC# CalenTool V2 - DO NOT REMOVE THIS LINE
- X #include "file"
- X # <comment string>
- X! YY MO DD HH MI AA [II] <WW> +RR # \fImessage\fP
- X .fi
- X .SS Header line
- X The first line in an
- X***************
- X*** 644,650
- X appointments. The
- X .I <WW>
- X field appears within broken brackets, and indicates the number of
- X! days of advance warning required.
- X .SS Appointment text
- X If a # character appears in front of the text, it indicates that a recurring
- X appointment has been suppressed for that day.
- X
- X--- 735,744 -----
- X appointments. The
- X .I <WW>
- X field appears within broken brackets, and indicates the number of
- X! days of advance warning required. The
- X! .I +RR
- X! field is preceded by a plus sign, and indicates the repetition count
- X! for a given appointment.
- X .SS Appointment text
- X If a # character appears in front of the text, it indicates that a recurring
- X appointment has been suppressed for that day.
- X***************
- X*** 660,666
- X \fC** 04 01 00 01 00 April Fool's Day
- X ** ** Tu 10 30 00 [1,3] Meeting on 1st and 3rd Tues. of Month
- X ** ** 01 00 01 00 <1> First day of every month, one day warning
- X! 88 05 ** 00 01 00 On vacation for entire month of May 1988\fP
- X .fi
- X .RE
- X .SH "SUPPLIED SPECIAL DATES FILES"
- X
- X--- 754,761 -----
- X \fC** 04 01 00 01 00 April Fool's Day
- X ** ** Tu 10 30 00 [1,3] Meeting on 1st and 3rd Tues. of Month
- X ** ** 01 00 01 00 <1> First day of every month, one day warning
- X! 88 05 ** 00 01 00 On vacation for entire month of May 1988
- X! 89 11 06 99 00 00 +4 SigFishing Conference\fP
- X .fi
- X .RE
- X .SH "SUPPLIED SPECIAL DATES FILES"
- X***************
- X*** 779,785
- X .I $HOME/.defaults
- X file
- X .SH "SEE ALSO"
- X! cal(1), cal2ct(1L), calendar(1), clocktool(1), cron(8),
- X mail(1), month(1L), monthtool(1L), month2ct(1L), mt2ct(1L),
- X nlock(1L), suntools(1), vi(1)
- X .SH REFERENCES
- X
- X--- 874,880 -----
- X .I $HOME/.defaults
- X file
- X .SH "SEE ALSO"
- X! cal(1), cal2ct(1L), calencheck(1L), calendar(1), clocktool(1), cron(8),
- X mail(1), month(1L), monthtool(1L), month2ct(1L), mt2ct(1L),
- X nlock(1L), suntools(1)
- X .SH REFERENCES
- X***************
- X*** 781,787
- X .SH "SEE ALSO"
- X cal(1), cal2ct(1L), calendar(1), clocktool(1), cron(8),
- X mail(1), month(1L), monthtool(1L), month2ct(1L), mt2ct(1L),
- X! nlock(1L), suntools(1), vi(1)
- X .SH REFERENCES
- X An excellent compendium which describes basic terminology of time measurement,
- X methods of astronomical computation, and the convoluted history of calendars:
- X
- X--- 876,882 -----
- X .SH "SEE ALSO"
- X cal(1), cal2ct(1L), calencheck(1L), calendar(1), clocktool(1), cron(8),
- X mail(1), month(1L), monthtool(1L), month2ct(1L), mt2ct(1L),
- X! nlock(1L), suntools(1)
- X .SH REFERENCES
- X An excellent compendium which describes basic terminology of time measurement,
- X methods of astronomical computation, and the convoluted history of calendars:
- X*** /tmp/,RCSt1a17008 Fri Dec 15 17:24:08 1989
- X--- wpaint.c Fri Dec 15 17:18:42 1989
- X***************
- X*** 1,5
- X /*
- X! * $Header: wpaint.c,v 2.2 89/07/19 20:32:38 billr Exp $
- X */
- X /*
- X * wpaint.c
- X
- X--- 1,5 -----
- X /*
- X! * $Header: wpaint.c,v 2.3 89/12/15 17:18:39 billr Exp $
- X */
- X /*
- X * wpaint.c
- X***************
- X*** 54,59
- X fix_current_day();
- X Save = current;
- X current.tm_mday -= current.tm_wday; /* Sunday of this week */
- X fix_current_day();
- X if (nr_weekdays < 7) {
- X current.tm_mday++;
- X
- X--- 54,65 -----
- X fix_current_day();
- X Save = current;
- X current.tm_mday -= current.tm_wday; /* Sunday of this week */
- X+ if (monday_first) {
- X+ if (current.tm_wday == SUN)
- X+ current.tm_mday -= 7;
- X+ if (nr_weekdays == 7)
- X+ current.tm_mday++; /* start on Monday */
- X+ }
- X fix_current_day();
- X if (nr_weekdays < 7) {
- X current.tm_mday++;
- X***************
- X*** 127,133
- X c[3] = '\0'; /* Mon Tue Wed Thu Fri */
- X for (i=0; i<nr_weekdays; i++) {
- X x = startx + i*weekslot_width + (weekslot_width - 2*(font->pf_defaultsize.x+2))/2;
- X! sprintf(c, "%3.3s", daynames[First.tm_wday + i]);
- X pw_text(main_pixwin, x, starty-5, PIX_SRC, font, c);
- X }
- X
- X
- X--- 133,142 -----
- X c[3] = '\0'; /* Mon Tue Wed Thu Fri */
- X for (i=0; i<nr_weekdays; i++) {
- X x = startx + i*weekslot_width + (weekslot_width - 2*(font->pf_defaultsize.x+2))/2;
- X! if (monday_first && i == 6)
- X! sprintf(c, "%3.3s", daynames[SUN]);
- X! else
- X! sprintf(c, "%3.3s", daynames[First.tm_wday + i]);
- X pw_text(main_pixwin, x, starty-5, PIX_SRC, font, c);
- X }
- X
- X***************
- X*** 135,143
- X rightx = startx + nr_weekdays*weekslot_width + 10;
- X for (i=0; i<N_SLOTS; i++) {
- X if (i < n_tslots) {
- X! sprintf(c, "%2d:%s",
- X! (START_HOUR+(i/2))%12 == 0 ? 12 : (START_HOUR+(i/2))%12,
- X! i%2 == 0 ? "00" : "30");
- X } else if (i == n_tslots) {
- X sprintf(c, "Notes");
- X } else {
- X
- X--- 144,157 -----
- X rightx = startx + nr_weekdays*weekslot_width + 10;
- X for (i=0; i<N_SLOTS; i++) {
- X if (i < n_tslots) {
- X! if (hour24)
- X! sprintf(c, "%2d:%s",
- X! START_HOUR+(i/2),
- X! i%2 == 0 ? "00" : "30");
- X! else
- X! sprintf(c, "%2d:%s%s",
- X! (START_HOUR+(i/2))%12 == 0 ? 12 : (START_HOUR+(i/2))%12,
- X! i%2 == 0 ? "00" : "30", (START_HOUR+(i/2) < 12 ? "am" : "pm"));
- X } else if (i == n_tslots) {
- X sprintf(c, (hour24 ? "Notes" : " Notes"));
- X } else {
- X***************
- X*** 139,145
- X (START_HOUR+(i/2))%12 == 0 ? 12 : (START_HOUR+(i/2))%12,
- X i%2 == 0 ? "00" : "30");
- X } else if (i == n_tslots) {
- X! sprintf(c, "Notes");
- X } else {
- X sprintf(c, " ");
- X }
- X
- X--- 153,159 -----
- X (START_HOUR+(i/2))%12 == 0 ? 12 : (START_HOUR+(i/2))%12,
- X i%2 == 0 ? "00" : "30", (START_HOUR+(i/2) < 12 ? "am" : "pm"));
- X } else if (i == n_tslots) {
- X! sprintf(c, (hour24 ? "Notes" : " Notes"));
- X } else {
- X sprintf(c, " ");
- X }
- X***************
- X*** 143,150
- X } else {
- X sprintf(c, " ");
- X }
- X! pw_text(main_pixwin, startx-6*font->pf_defaultsize.x, y, PIX_SRC, font, c);
- X! pw_text(main_pixwin, rightx, y, PIX_SRC, font, c);
- X y += weekslot_height;
- X }
- X
- X
- X--- 157,169 -----
- X } else {
- X sprintf(c, " ");
- X }
- X! if (hour24) {
- X! pw_text(main_pixwin, startx-7*font->pf_defaultsize.x, y, PIX_SRC, font, c);
- X! pw_text(main_pixwin, rightx, y, PIX_SRC, font, c);
- X! } else {
- X! pw_text(main_pixwin, startx-8*font->pf_defaultsize.x, y, PIX_SRC, font, c);
- X! pw_text(main_pixwin, rightx-font->pf_defaultsize.x, y, PIX_SRC, font, c);
- X! }
- X y += weekslot_height;
- X }
- X
- X***************
- X*** 155,162
- X
- X /* display week dates (month, day) */
- X for (i=0; i<nr_weekdays; i++) {
- X! sprintf(c, "%3.3s %2d",
- X! monthnames[current.tm_mon], current.tm_mday);
- X pw_text(main_pixwin, x, y, PIX_SRC, font, c);
- X x += weekslot_width;
- X current.tm_mday++;
- X
- X--- 174,185 -----
- X
- X /* display week dates (month, day) */
- X for (i=0; i<nr_weekdays; i++) {
- X! if (day_first)
- X! sprintf(c, "%2d %3.3s",
- X! current.tm_mday, monthnames[current.tm_mon]);
- X! else
- X! sprintf(c, "%3.3s %2d",
- X! monthnames[current.tm_mon], current.tm_mday);
- X pw_text(main_pixwin, x, y, PIX_SRC, font, c);
- X x += weekslot_width;
- X current.tm_mday++;
- X*** /tmp/,RCSt1a17013 Fri Dec 15 17:24:12 1989
- X--- ypaint.c Fri Dec 15 17:18:46 1989
- X***************
- X*** 1,5
- X /*
- X! * $Header: ypaint.c,v 2.1 89/05/09 14:20:15 billr Exp $
- X */
- X /*
- X * ypaint.c
- X
- X--- 1,5 -----
- X /*
- X! * $Header: ypaint.c,v 2.2 89/12/15 17:18:43 billr Exp $
- X */
- X /*
- X * ypaint.c
- X***************
- X*** 40,45
- X struct appt_entry appt;
- X int read_stat;
- X FILE *apts;
- X
- X lock_cursors();
- X /* destory future appts popup, if it exists */
- X
- X--- 40,46 -----
- X struct appt_entry appt;
- X int read_stat;
- X FILE *apts;
- X+ int runl;
- X
- X lock_cursors();
- X /* destory future appts popup, if it exists */
- X***************
- X*** 75,81
- X err_rpt("can't open appointments file", FATAL);
- X
- X working(FALSE);
- X! while ((read_stat = get_aentry(apts, &appt)) != EOF) {
- X if (read_stat)
- X continue; /* read error */
- X if (appt.flags & A_COMMENT)
- X
- X--- 76,82 -----
- X err_rpt("can't open appointments file", FATAL);
- X
- X working(FALSE);
- X! while ((read_stat = get_aentry(apts, &appt, FALSE)) != EOF) {
- X if (read_stat)
- X continue; /* read error */
- X if (appt.flags & A_COMMENT)
- X***************
- X*** 130,139
- X }
- X } else {
- X fix_current_day();
- X! while (ymd_compare(current, Last) <= 0) {
- X! busy_today[current.tm_yday]++;
- X! current.tm_mday += appt.repeat;
- X! fix_current_day();
- X }
- X }
- X } else {
- X
- X--- 131,148 -----
- X }
- X } else {
- X fix_current_day();
- X! if (appt.flags & RUN)
- X! runl = appt.runlength;
- X! else
- X! runl = 1;
- X! while (ymd_compare(current, Last) <= 0 && runl) {
- X! if (runl) {
- X! busy_today[current.tm_yday]++;
- X! current.tm_mday += appt.repeat;
- X! fix_current_day();
- X! if (appt.flags & RUN)
- X! --runl;
- X! }
- X }
- X }
- X } else {
- X***************
- X*** 145,153
- X }
- X } else if ((appt.flags & REPEAT) && !(appt.flags & EVERY_SOMEDAY)) {
- X /* find 1st appt in this year */
- X! while (ymd_compare(current, First) < 0) {
- X! current.tm_mday += appt.repeat;
- X! fix_current_day();
- X }
- X while (ymd_compare(current, Last) <= 0) {
- X busy_today[current.tm_yday]++;
- X
- X--- 154,170 -----
- X }
- X } else if ((appt.flags & REPEAT) && !(appt.flags & EVERY_SOMEDAY)) {
- X /* find 1st appt in this year */
- X! if (appt.flags & RUN)
- X! runl = appt.runlength;
- X! else
- X! runl = 1;
- X! while (ymd_compare(current, First) < 0 && runl) {
- X! if (appt.flags & RUN)
- X! --runl;
- X! if (runl) {
- X! current.tm_mday += appt.repeat;
- X! fix_current_day();
- X! }
- X }
- X while (ymd_compare(current, Last) <= 0 && runl) {
- X if (runl) {
- X***************
- X*** 149,158
- X current.tm_mday += appt.repeat;
- X fix_current_day();
- X }
- X! while (ymd_compare(current, Last) <= 0) {
- X! busy_today[current.tm_yday]++;
- X! current.tm_mday += appt.repeat;
- X! fix_current_day();
- X }
- X }
- X
- X
- X--- 166,179 -----
- X fix_current_day();
- X }
- X }
- X! while (ymd_compare(current, Last) <= 0 && runl) {
- X! if (runl) {
- X! busy_today[current.tm_yday]++;
- X! current.tm_mday += appt.repeat;
- X! fix_current_day();
- X! if (appt.flags & RUN)
- X! --runl;
- X! }
- X }
- X }
- X
- X***************
- X*** 194,202
- X PIX_SRC, bigfont, title);
- X
- X /* display day names */
- X! strcpy(buf, "Su Mo Tu We Th Fr Sa ");
- X! strcat(buf, "Su Mo Tu We Th Fr Sa ");
- X! strcat(buf, "Su Mo Tu We Th Fr Sa");
- X pw_text(main_pixwin, startx+4, starty-2, PIX_SRC, font, buf);
- X
- X /* draw months */
- X
- X--- 215,229 -----
- X PIX_SRC, bigfont, title);
- X
- X /* display day names */
- X! if (monday_first) {
- X! strcpy(buf, "Mo Tu We Th Fr Sa Su ");
- X! strcat(buf, "Mo Tu We Th Fr Sa Su ");
- X! strcat(buf, "Mo Tu We Th Fr Sa Su");
- X! } else {
- X! strcpy(buf, "Su Mo Tu We Th Fr Sa ");
- X! strcat(buf, "Su Mo Tu We Th Fr Sa ");
- X! strcat(buf, "Su Mo Tu We Th Fr Sa");
- X! }
- X pw_text(main_pixwin, startx+4, starty-2, PIX_SRC, font, buf);
- X
- X /* draw months */
- X***************
- X*** 203,209
- X monthnr = 0;
- X yrday = 0;
- X extra_days = 0;
- X! startbox = First.tm_wday;
- X for (row=0; row<4; row++) {
- X for (col=0; col<3; col++) {
- X x = startx + 8*ybox_width*col;
- X
- X--- 230,242 -----
- X monthnr = 0;
- X yrday = 0;
- X extra_days = 0;
- X! if (monday_first) {
- X! if (First.tm_wday == SUN)
- X! startbox = 6;
- X! else
- X! startbox = First.tm_wday - 1;
- X! } else
- X! startbox = First.tm_wday;
- X for (row=0; row<4; row++) {
- X for (col=0; col<3; col++) {
- X x = startx + 8*ybox_width*col;
- END_OF_FILE
- if test 44652 -ne `wc -c <'patches05a'`; then
- echo shar: \"'patches05a'\" unpacked with wrong size!
- fi
- # end of 'patches05a'
- fi
- echo shar: End of archive 1 \(of 4\).
- cp /dev/null ark1isdone
- MISSING=""
- for I in 1 2 3 4 ; do
- if test ! -f ark${I}isdone ; then
- MISSING="${MISSING} ${I}"
- fi
- done
- if test "${MISSING}" = "" ; then
- echo You have unpacked all 4 archives.
- rm -f ark[1-9]isdone
- else
- echo You still need to unpack the following archives:
- echo " " ${MISSING}
- fi
- ## End of shell archive.
- exit 0
-
-